#ifndef SHAPEMANAGER_H
#define SHAPEMANAGER_H

#include "Shape.h"
#include <list>

class ShapeManager
{
public:
    ShapeManager();
    virtual ~ShapeManager();

	void Clear();
	Shape* AddShape(const Shape& shape);
	void RemoveShape(const Shape* removeShape);
	



protected:
	virtual Shape* NewShape(const Shape& shape);

private:
	std::list<Shape*> shapes;
};

#endif // SHAPEMANAGER_H
